package com.quyunshuo.module.home.room.entity

import androidx.room.ColumnInfo
import androidx.room.Entity
import androidx.room.PrimaryKey
import java.text.SimpleDateFormat
import java.util.Date
import java.util.Locale

@Entity(tableName = "target")
data class TargetEntity(

    @PrimaryKey(autoGenerate = true)
    var id: Long = 0,

    //目标内容
    @ColumnInfo(name = "content", index = true)
    val targetContent:String = "",


    // 新增状态字段（使用枚举）
    @ColumnInfo(name = "status", defaultValue = "ACTIVE")
    val status: TargetStatus = TargetStatus.ACTIVE,

    // 开始时间
    @ColumnInfo(name = "start_date", index = true)
    val startDate: String = formatDate(System.currentTimeMillis()),

    // 结束时间
    @ColumnInfo(name = "end_date", index = true)
    val endDate: String = formatDate(System.currentTimeMillis()),


){
    companion object {
        /**
         * 格式化日期为 yyyy-MM-dd 格式
         */
        private fun formatDate(timestamp: Long): String {
            return SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).format(Date(timestamp))
        }
    }

}


// 状态枚举定义（推荐使用）
enum class TargetStatus {
    ACTIVE,     // 进行中
    COMPLETED,  // 已完成
    ARCHIVED,   // 已归档
    CANCELED    // 已取消
}